package main

import "fmt"

func main() {

	slicePrint()
}

func test1() {
	var arr1 = [5]int{1, 2, 3, 4, 5}
	slice1 := arr1[2:4] // 下标2,3的数据
	fmt.Println("原数组：", arr1)
	fmt.Println("切片：", slice1)
	fmt.Println("切片容量: ", cap(slice1))

	fmt.Println("数组[2]地址 -> ", &arr1[2])
	fmt.Println("切片[0]地址 -> ", &slice1[0])
}

func changeSliceVal() {
	var arr1 = [5]int{1, 2, 3, 4, 5}
	slice1 := arr1[2:4] // 下标2,3的数据

	fmt.Println("未改切片的原数组:", arr1)
	fmt.Println("切片：", slice1)

	// 修改切片的值
	slice1[0] = 10
	slice1[1] = 20

	fmt.Println("修改切片之后的原数组：", arr1)
	fmt.Println("切片修改后：", slice1)

}

// 切片初始化，
func sliceInit() {
	s1 := make([]int, 3, 5)
	s1[0] = 1
	s1[1] = 2
	s1[2] = 3
	fmt.Println(s1)
}

// 切片初始化，
func slicePrint() {
	s1 := make([]int, 3, 5)
	s1[0] = 1
	s1[1] = 2
	s1[2] = 3

	for index, val := range s1 {
		fmt.Println("index:", index, "val:", val)
	}

}
